<?php
require_once(INCPATH . "ext/Smarty-3.1.12/libs/Smarty.class.php");

/**
 * 网站页面的基类。
 */
abstract class WebPage{
    /**
     * 渲染页面。
     */
    abstract public function render();
    
    /**
     * 模板引擎。
     */
    private $smarty;

    /**
     * 构造函数。
     */
    function  __construct(){
        $path = "saemc://templates_c";//使用MC Wrapper
        mkdir($path);
        $this->smarty = new Smarty();
        $this->smarty->template_dir = TEMPLATESTPATH;
        $this->smarty->compile_dir = $path;
        $smarty->cache_dir = $path;
        $smarty->compile_locking = false;
        $this->assign("SystemName", SYSTEMNAME);
    }
    
    /**
     * 构造函数。
     */
    function WebPage(){
        $this->__construct();
    }
    
    /**
     * 赋值方法。
     */
    public function assign($key, $val){
        $this->smarty->assign($key, $val);
    }
    
    /**
     * 渲染页面。
     */
    public function display($tpl){
        if($tpl){
            @$this->smarty->display($tpl);
        }
    }
}
?>